package com.xulu.romance.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xulu.romance.pojo.Question;
import com.xulu.romance.utils.PageUtils;
import com.xulu.romance.vo.ArchiveQuestionVo;
import com.xulu.romance.vo.QuestionTopVo;
import com.xulu.romance.vo.QuestionVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @version 1.0
 * @Author xiaoxulu
 * @Date 2024/1/13 21:58
 */

public interface QuestionService extends IService<Question> {
    PageUtils queryPage(Map<String, Object> params);
    /**
     * 查询数量
     * @return
     */
    Integer findQuestoinDetailCount();

    /**
     * 分页查询试题详情
     * @param currentPage
     * @param size
     * @return
     */
    List<QuestionVo> findQuestoinDetail(Integer currentPage, Integer size);

    /**
     * 分页条件查询试题详情
     * @param currentPage
     * @param size
     * @return
     */
    List<QuestionVo> findQuestoinDetailCondition(Integer currentPage, Integer size, String key);
    /**
     * 查询所有
     */
    List<QuestionVo> findAll();

    /**
     * 查询最新发布的前10篇试题
     * @return
     */
    List<QuestionTopVo> findQuestionTop();
    /**
     * 查询试题详情
     */
    QuestionVo findQuestionDetailById(Integer id);

    List<QuestionVo> findQuestionByType(Integer currentPage,
                                        Integer size,
                                        Integer typeId);

    /**
     * 查询类型条件数量
     */
    Integer findQuestionByTypeCount(Integer typeId);

    /**
     * 根据标签id查询
     */
    List<QuestionVo> findQuestionByTag(Integer currentPage,
                                       Integer size,
                                       Integer tagId);
    /**
     * 查询类型条件数量
     */
    Integer findQuestionByTagCount(Integer tagId);


    /**
     * 查询试题归档
     */
    List<ArchiveQuestionVo> findArchiveQuestionList(Integer currentPage,
                                                    Integer size);


}
